﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using orienta.Models;
using orienta.ViewModels;

namespace orienta.Helper
{
    public class PersonaHelper
    {
        private GoodTireEntities db = new GoodTireEntities();

        public int InsertarPersona(PersonasView personaInfo)
        {
            try
            {
                //db.ORIMaePersona.AddObject(personaInfo);
            }
            catch (Exception)
            {
                return 0; 
            }
                return 1;
        }

        public int Contar(string where="")
        {
            
            try
            {
                var resultado = db.uspContarPersonas1(where).SingleOrDefault();
                return resultado.HasValue ? resultado.Value : 0;
            }
            catch (Exception)
            {
                return 0;
            }
        }

        public IList<PersonasView> Buscar(int filasPorPagina, int pagina, string columnaOrden, string direccionOrden,string where)
        {
            try
            {
                return db.uspListarPersonas(filasPorPagina, pagina, columnaOrden, direccionOrden,where).ToList();
            }
            catch (Exception ex) { throw new Exception(ex.Message); }
        }

        public PersonasView Single(int id)
        {
            var resultado = new PersonasView();
            try
            {
                resultado = db.PersonasView.Where(m => m.nIdePersona == id).Single();
            }
            catch (Exception)
            {
                return resultado;
            }
            return resultado;
        }

        public IList<PersonasView> BuscarPersona(int filasPorPagina, int pagina, string columnaOrden, string direccionOrden, string where)
        {
            var resultado = new List<PersonasView>();
            try
            {
                resultado = db.uspBuscarPersona(filasPorPagina, pagina, columnaOrden, direccionOrden, where).ToList();
            }
            catch (Exception)
            {
                return resultado;
            }
            return resultado;
        }


    }
}